﻿/*
 ***************************************************************************
 * Microsoft Visual C# .NET
 * 名称：       Shpm.App.Input.Dao.HealthDietAdviceDao
 * 类型：       DAO
 * 功能说明：   饮食健康数据访问对象
 * 作者：       王剑华
 * 创建日期：   2007/09/11
 * 修改日期     修改者      修改内容
 * 
 * 
 * ---
 ***************************************************************************
*/
using System;
using System.Data;
using System.Collections;
using Shpm.System.Db;
using Shpm.App.Input.Bean;
using Shpm.App.Commons.Db.Beans.Master;

namespace Shpm.App.Input.Dao
{
    public class HealthDietAdviceDao : ShpmBaseDao
    {
        /** 取得饮食健康对象 */
        public const string GET_MEMBER_FOOD = "HealthDietAdviceBean.GetHealthDietAdviceBean";
        /** 取得FOOD_TYPE数据 */
        public const string FIND_FOOD_TYPE = "HealthDietAdviceBean.FindFoodTypeHealthDietAdviceBean";
        // 从数据字典中取得画面列表项内容
        public const string FIND_BY_CATALOG = "CommonDictionary.FindByCatalog";
        /** 登录饮食健康对象 */
        public const string INS_MEMBER_FOOD = "HealthDietAdviceBean.InsHealthDietAdviceBean";        
        /** 删除饮食健康对象 */
        public const string DEL_MEMBER_FOOD = "HealthDietAdviceBean.DelHealthDietAdviceBean";


        // 治疗信息详细 check 权限
        public const string CHECK_MEMBER_DOCTOR = "HealthDietAdviceBean.CheckMemberDoctor";

        
        public HealthDietAdviceDao()
        {
        }
        /*
        *名称： Load
        *功能： 取得饮食健康对象。
        *参数： paramBean - 检索参数
        *返回： 饮食健康对象 
        *说明： 
       */

        public HealthDietAdviceBean Load(HealthDietAdviceBean paramBean)
        {
            return (HealthDietAdviceBean)QueryForObject(GET_MEMBER_FOOD, paramBean);
        }
        /*
        *名称： FindByCatalog
        *功能： 取得数据字典对象。
        *参数： paramBean - 检索参数
        *返回： 数据字典对象 
        *说明： 从数据字典中取得画面列表项内容
        */
        public IList FindByCatalog(CommonDictionaryBean paramBean)
        {
            return base.QueryForList(FIND_BY_CATALOG, paramBean);
        }
        /*
       *名称： LoadFoodType
       *功能： 取得FOODTYPE对象数据。
       *参数： paramBean - 检索参数
       *返回： 饮食健康对象 
       *说明： 
      */
        public IList LoadFoodType(HealthDietAdviceBean paramBean)
        {
            return base.QueryForList(FIND_FOOD_TYPE, paramBean);
        }
        /*
         *名称： Insert
         *功能： 登录饮食健康对象。
         *参数： paramBean - 登录对象
         *返回： 登录的对象
         *说明： 
        */
        public HealthDietAdviceBean Insert(HealthDietAdviceBean paramBean)
        {
            return (HealthDietAdviceBean)base.Insert(INS_MEMBER_FOOD, paramBean);
        }

        /*
         *名称： Delete
         *功能： 删除饮食健康对象。
         *参数： paramBean - 删除对象
         *返回： 删除记录数
         *说明：  delete 
        */
        public int Delete(HealthDietAdviceBean paramBean)
        {
            return base.Delete(DEL_MEMBER_FOOD, paramBean);
        }

        /*
        *名称： InsertUpdate
        *功能： 更新/登入饮食健康对象。
        *参数： paramBean - 更新对象
        *返回： 更新记录数
        *说明： 
       */
        public int InsertUpdate(HealthDietAdviceBean paramBean,IList paramList)
        {
            try
            {
                int numInsert = 0;
                HealthDietAdviceBean beanSG = null;

                // 开始事务 
                base.BeginTransaction();

                // 删除原有数据                
                beanSG = new HealthDietAdviceBean();
                beanSG.MemberNo = paramBean.MemberNo;
                this.Delete(beanSG);

                // 登记记录
                for(int i=0;i<paramList.Count;i++ )
                {
                    beanSG = new HealthDietAdviceBean();
                    beanSG = (HealthDietAdviceBean)paramList[i];
                    this.Insert(beanSG);
                    numInsert++;
                }
                
                // 提交事务
                base.CommitTransaction();
                return numInsert;
            }
            catch (Exception e)
            {
                // 回滚事务
                base.RollBackTransaction();
                throw e;
            }


        }


        /*
         *名称： CheckMemberDoctor
         *功能： 取得会员医生列表对象。
         *参数： paramBean - 检索参数
         *返回： 会员医生列表 
         *说明： 从会员医生中取得画面列表项内容
        */
        public IList CheckMemberDoctor(MstMemberDoctorBean paramBean)
        {
            return base.QueryForList(CHECK_MEMBER_DOCTOR, paramBean);
        }
    }
}